package com.frontop.system.modules.sys.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.frontop.system.modules.sys.model.SysMenu;
import com.frontop.system.modules.sys.vo.MenuManageListVO;
import com.frontop.system.modules.sys.vo.MenuVO;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author YangJia
 * @since 2021-09-15
 */
public interface SysMenuService extends IService<SysMenu> {
    /**
     * 根据当前角色获取左侧菜单列表
     * @return
     */
    List<MenuVO> getListMenuVO(String userName,Integer type);

    /**
     * 菜单管理列表
     *
     * @param roleId
     * @return
     */
    List<MenuManageListVO> getMenuManageList(List<Integer> roleId);


    /**
     * 根据组织ID来查询组织下拥有的菜单
     *
     * @param orgId
     * @return
     */
    List<MenuManageListVO> selectMenuByOrg(Integer orgId);





    /**
     * 根据Id获取菜单详情
     *
     * @param id
     * @return
     */
    SysMenu getMenuInfoById(Integer id);

    /**
     * 查出父节点Id是否在当前子节点当中
     *
     * @param map
     * @return
     */
    Integer isParentInChild(Map<String, Integer> map);

    /**
     * 获取菜单所有子节点Id
     *
     * @param id
     * @return
     */
    List<Integer> getAllChildById(Integer id);
}
